/**
 * Copyright (c) 2000-present Liferay, Inc. All rights reserved.
 *
 * This library is free software; you can redistribute it and/or modify it under
 * the terms of the GNU Lesser General Public License as published by the Free
 * Software Foundation; either version 2.1 of the License, or (at your option)
 * any later version.
 *
 * This library is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
 * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
 * details.
 */

package it.apuliait.model.impl;

import com.liferay.portal.kernel.util.StringBundler;
import com.liferay.portal.kernel.util.StringPool;
import com.liferay.portal.model.CacheModel;

import it.apuliait.model.Documento;

import java.io.Externalizable;
import java.io.IOException;
import java.io.ObjectInput;
import java.io.ObjectOutput;

/**
 * The cache model class for representing Documento in entity cache.
 *
 * @author Donatello
 * @see Documento
 * @generated
 */
public class DocumentoCacheModel implements CacheModel<Documento>,
	Externalizable {
	@Override
	public String toString() {
		StringBundler sb = new StringBundler(65);

		sb.append("{documentoId=");
		sb.append(documentoId);
		sb.append(", trasmittenteIDFK=");
		sb.append(trasmittenteIDFK);
		sb.append(", riceventeIDFK=");
		sb.append(riceventeIDFK);
		sb.append(", userId=");
		sb.append(userId);
		sb.append(", nomeDocumento=");
		sb.append(nomeDocumento);
		sb.append(", statoDocumento=");
		sb.append(statoDocumento);
		sb.append(", tipoDocumento=");
		sb.append(tipoDocumento);
		sb.append(", divisa=");
		sb.append(divisa);
		sb.append(", dataDocumento=");
		sb.append(dataDocumento);
		sb.append(", numeroDocumento=");
		sb.append(numeroDocumento);
		sb.append(", progressivoInvio=");
		sb.append(progressivoInvio);
		sb.append(", tipoRitenuta=");
		sb.append(tipoRitenuta);
		sb.append(", importoRitenuta=");
		sb.append(importoRitenuta);
		sb.append(", aliquotaRitenuta=");
		sb.append(aliquotaRitenuta);
		sb.append(", causalePagamento=");
		sb.append(causalePagamento);
		sb.append(", importoTotale=");
		sb.append(importoTotale);
		sb.append(", arrotondamento=");
		sb.append(arrotondamento);
		sb.append(", causale=");
		sb.append(causale);
		sb.append(", articolo73=");
		sb.append(articolo73);
		sb.append(", bolloVirtuale=");
		sb.append(bolloVirtuale);
		sb.append(", importoBolloVirtuale=");
		sb.append(importoBolloVirtuale);
		sb.append(", cassaPrevidenziale=");
		sb.append(cassaPrevidenziale);
		sb.append(", aliquotaCassa=");
		sb.append(aliquotaCassa);
		sb.append(", aliquotaIvaCassa=");
		sb.append(aliquotaIvaCassa);
		sb.append(", ritenutaCassa=");
		sb.append(ritenutaCassa);
		sb.append(", naturaCassa=");
		sb.append(naturaCassa);
		sb.append(", imponibileCassa=");
		sb.append(imponibileCassa);
		sb.append(", importoContributoCassa=");
		sb.append(importoContributoCassa);
		sb.append(", tipoScontoMaggiorazione=");
		sb.append(tipoScontoMaggiorazione);
		sb.append(", percentualeScontoMaggiorazione=");
		sb.append(percentualeScontoMaggiorazione);
		sb.append(", importoScontoMaggiorazione=");
		sb.append(importoScontoMaggiorazione);
		sb.append(", esigibilitaIva=");
		sb.append(esigibilitaIva);
		sb.append("}");

		return sb.toString();
	}

	@Override
	public Documento toEntityModel() {
		DocumentoImpl documentoImpl = new DocumentoImpl();

		documentoImpl.setDocumentoId(documentoId);
		documentoImpl.setTrasmittenteIDFK(trasmittenteIDFK);
		documentoImpl.setRiceventeIDFK(riceventeIDFK);
		documentoImpl.setUserId(userId);

		if (nomeDocumento == null) {
			documentoImpl.setNomeDocumento(StringPool.BLANK);
		}
		else {
			documentoImpl.setNomeDocumento(nomeDocumento);
		}

		if (statoDocumento == null) {
			documentoImpl.setStatoDocumento(StringPool.BLANK);
		}
		else {
			documentoImpl.setStatoDocumento(statoDocumento);
		}

		if (tipoDocumento == null) {
			documentoImpl.setTipoDocumento(StringPool.BLANK);
		}
		else {
			documentoImpl.setTipoDocumento(tipoDocumento);
		}

		if (divisa == null) {
			documentoImpl.setDivisa(StringPool.BLANK);
		}
		else {
			documentoImpl.setDivisa(divisa);
		}

		if (dataDocumento == null) {
			documentoImpl.setDataDocumento(StringPool.BLANK);
		}
		else {
			documentoImpl.setDataDocumento(dataDocumento);
		}

		if (numeroDocumento == null) {
			documentoImpl.setNumeroDocumento(StringPool.BLANK);
		}
		else {
			documentoImpl.setNumeroDocumento(numeroDocumento);
		}

		if (progressivoInvio == null) {
			documentoImpl.setProgressivoInvio(StringPool.BLANK);
		}
		else {
			documentoImpl.setProgressivoInvio(progressivoInvio);
		}

		if (tipoRitenuta == null) {
			documentoImpl.setTipoRitenuta(StringPool.BLANK);
		}
		else {
			documentoImpl.setTipoRitenuta(tipoRitenuta);
		}

		if (importoRitenuta == null) {
			documentoImpl.setImportoRitenuta(StringPool.BLANK);
		}
		else {
			documentoImpl.setImportoRitenuta(importoRitenuta);
		}

		if (aliquotaRitenuta == null) {
			documentoImpl.setAliquotaRitenuta(StringPool.BLANK);
		}
		else {
			documentoImpl.setAliquotaRitenuta(aliquotaRitenuta);
		}

		if (causalePagamento == null) {
			documentoImpl.setCausalePagamento(StringPool.BLANK);
		}
		else {
			documentoImpl.setCausalePagamento(causalePagamento);
		}

		if (importoTotale == null) {
			documentoImpl.setImportoTotale(StringPool.BLANK);
		}
		else {
			documentoImpl.setImportoTotale(importoTotale);
		}

		if (arrotondamento == null) {
			documentoImpl.setArrotondamento(StringPool.BLANK);
		}
		else {
			documentoImpl.setArrotondamento(arrotondamento);
		}

		if (causale == null) {
			documentoImpl.setCausale(StringPool.BLANK);
		}
		else {
			documentoImpl.setCausale(causale);
		}

		if (articolo73 == null) {
			documentoImpl.setArticolo73(StringPool.BLANK);
		}
		else {
			documentoImpl.setArticolo73(articolo73);
		}

		if (bolloVirtuale == null) {
			documentoImpl.setBolloVirtuale(StringPool.BLANK);
		}
		else {
			documentoImpl.setBolloVirtuale(bolloVirtuale);
		}

		if (importoBolloVirtuale == null) {
			documentoImpl.setImportoBolloVirtuale(StringPool.BLANK);
		}
		else {
			documentoImpl.setImportoBolloVirtuale(importoBolloVirtuale);
		}

		if (cassaPrevidenziale == null) {
			documentoImpl.setCassaPrevidenziale(StringPool.BLANK);
		}
		else {
			documentoImpl.setCassaPrevidenziale(cassaPrevidenziale);
		}

		if (aliquotaCassa == null) {
			documentoImpl.setAliquotaCassa(StringPool.BLANK);
		}
		else {
			documentoImpl.setAliquotaCassa(aliquotaCassa);
		}

		if (aliquotaIvaCassa == null) {
			documentoImpl.setAliquotaIvaCassa(StringPool.BLANK);
		}
		else {
			documentoImpl.setAliquotaIvaCassa(aliquotaIvaCassa);
		}

		if (ritenutaCassa == null) {
			documentoImpl.setRitenutaCassa(StringPool.BLANK);
		}
		else {
			documentoImpl.setRitenutaCassa(ritenutaCassa);
		}

		if (naturaCassa == null) {
			documentoImpl.setNaturaCassa(StringPool.BLANK);
		}
		else {
			documentoImpl.setNaturaCassa(naturaCassa);
		}

		if (imponibileCassa == null) {
			documentoImpl.setImponibileCassa(StringPool.BLANK);
		}
		else {
			documentoImpl.setImponibileCassa(imponibileCassa);
		}

		if (importoContributoCassa == null) {
			documentoImpl.setImportoContributoCassa(StringPool.BLANK);
		}
		else {
			documentoImpl.setImportoContributoCassa(importoContributoCassa);
		}

		if (tipoScontoMaggiorazione == null) {
			documentoImpl.setTipoScontoMaggiorazione(StringPool.BLANK);
		}
		else {
			documentoImpl.setTipoScontoMaggiorazione(tipoScontoMaggiorazione);
		}

		if (percentualeScontoMaggiorazione == null) {
			documentoImpl.setPercentualeScontoMaggiorazione(StringPool.BLANK);
		}
		else {
			documentoImpl.setPercentualeScontoMaggiorazione(percentualeScontoMaggiorazione);
		}

		if (importoScontoMaggiorazione == null) {
			documentoImpl.setImportoScontoMaggiorazione(StringPool.BLANK);
		}
		else {
			documentoImpl.setImportoScontoMaggiorazione(importoScontoMaggiorazione);
		}

		if (esigibilitaIva == null) {
			documentoImpl.setEsigibilitaIva(StringPool.BLANK);
		}
		else {
			documentoImpl.setEsigibilitaIva(esigibilitaIva);
		}

		documentoImpl.resetOriginalValues();

		return documentoImpl;
	}

	@Override
	public void readExternal(ObjectInput objectInput) throws IOException {
		documentoId = objectInput.readLong();
		trasmittenteIDFK = objectInput.readLong();
		riceventeIDFK = objectInput.readLong();
		userId = objectInput.readLong();
		nomeDocumento = objectInput.readUTF();
		statoDocumento = objectInput.readUTF();
		tipoDocumento = objectInput.readUTF();
		divisa = objectInput.readUTF();
		dataDocumento = objectInput.readUTF();
		numeroDocumento = objectInput.readUTF();
		progressivoInvio = objectInput.readUTF();
		tipoRitenuta = objectInput.readUTF();
		importoRitenuta = objectInput.readUTF();
		aliquotaRitenuta = objectInput.readUTF();
		causalePagamento = objectInput.readUTF();
		importoTotale = objectInput.readUTF();
		arrotondamento = objectInput.readUTF();
		causale = objectInput.readUTF();
		articolo73 = objectInput.readUTF();
		bolloVirtuale = objectInput.readUTF();
		importoBolloVirtuale = objectInput.readUTF();
		cassaPrevidenziale = objectInput.readUTF();
		aliquotaCassa = objectInput.readUTF();
		aliquotaIvaCassa = objectInput.readUTF();
		ritenutaCassa = objectInput.readUTF();
		naturaCassa = objectInput.readUTF();
		imponibileCassa = objectInput.readUTF();
		importoContributoCassa = objectInput.readUTF();
		tipoScontoMaggiorazione = objectInput.readUTF();
		percentualeScontoMaggiorazione = objectInput.readUTF();
		importoScontoMaggiorazione = objectInput.readUTF();
		esigibilitaIva = objectInput.readUTF();
	}

	@Override
	public void writeExternal(ObjectOutput objectOutput)
		throws IOException {
		objectOutput.writeLong(documentoId);
		objectOutput.writeLong(trasmittenteIDFK);
		objectOutput.writeLong(riceventeIDFK);
		objectOutput.writeLong(userId);

		if (nomeDocumento == null) {
			objectOutput.writeUTF(StringPool.BLANK);
		}
		else {
			objectOutput.writeUTF(nomeDocumento);
		}

		if (statoDocumento == null) {
			objectOutput.writeUTF(StringPool.BLANK);
		}
		else {
			objectOutput.writeUTF(statoDocumento);
		}

		if (tipoDocumento == null) {
			objectOutput.writeUTF(StringPool.BLANK);
		}
		else {
			objectOutput.writeUTF(tipoDocumento);
		}

		if (divisa == null) {
			objectOutput.writeUTF(StringPool.BLANK);
		}
		else {
			objectOutput.writeUTF(divisa);
		}

		if (dataDocumento == null) {
			objectOutput.writeUTF(StringPool.BLANK);
		}
		else {
			objectOutput.writeUTF(dataDocumento);
		}

		if (numeroDocumento == null) {
			objectOutput.writeUTF(StringPool.BLANK);
		}
		else {
			objectOutput.writeUTF(numeroDocumento);
		}

		if (progressivoInvio == null) {
			objectOutput.writeUTF(StringPool.BLANK);
		}
		else {
			objectOutput.writeUTF(progressivoInvio);
		}

		if (tipoRitenuta == null) {
			objectOutput.writeUTF(StringPool.BLANK);
		}
		else {
			objectOutput.writeUTF(tipoRitenuta);
		}

		if (importoRitenuta == null) {
			objectOutput.writeUTF(StringPool.BLANK);
		}
		else {
			objectOutput.writeUTF(importoRitenuta);
		}

		if (aliquotaRitenuta == null) {
			objectOutput.writeUTF(StringPool.BLANK);
		}
		else {
			objectOutput.writeUTF(aliquotaRitenuta);
		}

		if (causalePagamento == null) {
			objectOutput.writeUTF(StringPool.BLANK);
		}
		else {
			objectOutput.writeUTF(causalePagamento);
		}

		if (importoTotale == null) {
			objectOutput.writeUTF(StringPool.BLANK);
		}
		else {
			objectOutput.writeUTF(importoTotale);
		}

		if (arrotondamento == null) {
			objectOutput.writeUTF(StringPool.BLANK);
		}
		else {
			objectOutput.writeUTF(arrotondamento);
		}

		if (causale == null) {
			objectOutput.writeUTF(StringPool.BLANK);
		}
		else {
			objectOutput.writeUTF(causale);
		}

		if (articolo73 == null) {
			objectOutput.writeUTF(StringPool.BLANK);
		}
		else {
			objectOutput.writeUTF(articolo73);
		}

		if (bolloVirtuale == null) {
			objectOutput.writeUTF(StringPool.BLANK);
		}
		else {
			objectOutput.writeUTF(bolloVirtuale);
		}

		if (importoBolloVirtuale == null) {
			objectOutput.writeUTF(StringPool.BLANK);
		}
		else {
			objectOutput.writeUTF(importoBolloVirtuale);
		}

		if (cassaPrevidenziale == null) {
			objectOutput.writeUTF(StringPool.BLANK);
		}
		else {
			objectOutput.writeUTF(cassaPrevidenziale);
		}

		if (aliquotaCassa == null) {
			objectOutput.writeUTF(StringPool.BLANK);
		}
		else {
			objectOutput.writeUTF(aliquotaCassa);
		}

		if (aliquotaIvaCassa == null) {
			objectOutput.writeUTF(StringPool.BLANK);
		}
		else {
			objectOutput.writeUTF(aliquotaIvaCassa);
		}

		if (ritenutaCassa == null) {
			objectOutput.writeUTF(StringPool.BLANK);
		}
		else {
			objectOutput.writeUTF(ritenutaCassa);
		}

		if (naturaCassa == null) {
			objectOutput.writeUTF(StringPool.BLANK);
		}
		else {
			objectOutput.writeUTF(naturaCassa);
		}

		if (imponibileCassa == null) {
			objectOutput.writeUTF(StringPool.BLANK);
		}
		else {
			objectOutput.writeUTF(imponibileCassa);
		}

		if (importoContributoCassa == null) {
			objectOutput.writeUTF(StringPool.BLANK);
		}
		else {
			objectOutput.writeUTF(importoContributoCassa);
		}

		if (tipoScontoMaggiorazione == null) {
			objectOutput.writeUTF(StringPool.BLANK);
		}
		else {
			objectOutput.writeUTF(tipoScontoMaggiorazione);
		}

		if (percentualeScontoMaggiorazione == null) {
			objectOutput.writeUTF(StringPool.BLANK);
		}
		else {
			objectOutput.writeUTF(percentualeScontoMaggiorazione);
		}

		if (importoScontoMaggiorazione == null) {
			objectOutput.writeUTF(StringPool.BLANK);
		}
		else {
			objectOutput.writeUTF(importoScontoMaggiorazione);
		}

		if (esigibilitaIva == null) {
			objectOutput.writeUTF(StringPool.BLANK);
		}
		else {
			objectOutput.writeUTF(esigibilitaIva);
		}
	}

	public long documentoId;
	public long trasmittenteIDFK;
	public long riceventeIDFK;
	public long userId;
	public String nomeDocumento;
	public String statoDocumento;
	public String tipoDocumento;
	public String divisa;
	public String dataDocumento;
	public String numeroDocumento;
	public String progressivoInvio;
	public String tipoRitenuta;
	public String importoRitenuta;
	public String aliquotaRitenuta;
	public String causalePagamento;
	public String importoTotale;
	public String arrotondamento;
	public String causale;
	public String articolo73;
	public String bolloVirtuale;
	public String importoBolloVirtuale;
	public String cassaPrevidenziale;
	public String aliquotaCassa;
	public String aliquotaIvaCassa;
	public String ritenutaCassa;
	public String naturaCassa;
	public String imponibileCassa;
	public String importoContributoCassa;
	public String tipoScontoMaggiorazione;
	public String percentualeScontoMaggiorazione;
	public String importoScontoMaggiorazione;
	public String esigibilitaIva;
}